Computer systems, such as laptop computers, desktop computers, notebooks and handsets, even mobile phones, are equipped or can be coupled with computer peripheral devices that allow users to conveniently interact with them. Exemplary peripheral devices include computer display, loudspeakers, keyboard and mouse, among others. In some cases an end-user performing an operation on a computer system may want, or may be compelled, to log off a computer system for an indefinite time period (e.g., hours, days, or months). For example, people may use PCs to play video games. An end-user playing a video game on one PC may want to quit playing the game on the PC and later resume playing that game on another PC from the same point where the game was stopped. Moreover, if an end-user logs off the PC at a certain point (e.g., in the middle of editing a document) and after a while logs in to the same PC in order to continue the operation from the same point, the user has to manually reactivate the application(s) that were active on the PC prior to the log off The need to manually reactivate application(s) is burdensome and time consuming to end users.
In order to allow an end-user to quit an application executing (e.g., playing the game) on the PC, a process running on one PC, and resume that process on another PC at the same state where the original process was stopped, there is a need to export to the second PC the state of the process as it was on the first PC when it was stopped. Accordingly, there is a need to enable a more smooth and efficient transition of processes between devices such as PCs.